package com.nuoniu.sibanyun.entity.finance;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * <p>
 * 辅助总账表
 * </p>
 *
 * @author 小啊刚
 * @since 2021-04-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("fag_acc_auxiliary_ledger")
@ApiModel(value="VAccountingAuxiliaryLedger对象", description="辅助总账表")
public class VAccountingAuxiliaryLedger extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "租户id")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "账套id")
    @TableField("account_id")
    private Integer accountId;

    @ApiModelProperty(value = "账套年份")
    @TableField("account_year")
    private Integer accountYear;

    @ApiModelProperty(value = "账套期间")
    @TableField("account_period")
    private Integer accountPeriod;

    @ApiModelProperty(value = "科目id")
    @TableField("accounting_id")
    private Integer accountingId;

    @ApiModelProperty(value = "科目名称")
    @TableField("accounting_name")
    private String accountingName;

    @ApiModelProperty(value = "科目编码")
    @TableField("accounting_code")
    private String accountingCode;

    @ApiModelProperty(value = "客户/供应商首拼")
    @TableField("phonetic")
    private String phonetic;

    @ApiModelProperty(value = "客户id")
    @TableField("crm_id")
    private Integer crmId;

    @ApiModelProperty(value = "客户名称")
    @TableField("crm_name")
    private String crmName;

    @ApiModelProperty(value = "供应商id")
    @TableField("vendor_id")
    private Integer vendorId;

    @ApiModelProperty(value = "供应商名称")
    @TableField("vendor_name")
    private String vendorName;

    @ApiModelProperty(value = "部门id")
    @TableField("office_id")
    private Integer officeId;

    @ApiModelProperty(value = "部门名称")
    @TableField("office_name")
    private String officeName;

    @ApiModelProperty(value = "项目id")
    @TableField("project_id")
    private Integer projectId;

    @ApiModelProperty(value = "项目名称")
    @TableField("project_name")
    private String projectName;

    @ApiModelProperty(value = "个人id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "个人名称")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty(value = "币种名称")
    @TableField("currency_name")
    private String currencyName;

    @ApiModelProperty(value = "期初金额方向1:借2:贷")
    @TableField("begin_amount_direction")
    private Integer beginAmountDirection;

    @ApiModelProperty(value = "期末金额方向1:借2:贷3:平")
    @TableField("end_amount_direction")
    private Integer endAmountDirection;

    @ApiModelProperty(value = "外币期初金额")
    @TableField("currency_begin_amount")
    private BigDecimal currencyBeginAmount;

    @ApiModelProperty(value = "外币期末金额")
    @TableField("currency_end_amount")
    private BigDecimal currencyEndAmount;

    @ApiModelProperty(value = "外币借方金额")
    @TableField("currency_debit_amount")
    private BigDecimal currencyDebitAmount;

    @ApiModelProperty(value = "外币贷方金额")
    @TableField("currency_credit_amount")
    private BigDecimal currencyCreditAmount;

    @ApiModelProperty(value = "数量期初")
    @TableField("begin_quantity")
    private BigDecimal beginQuantity;

    @ApiModelProperty(value = "数量期末")
    @TableField("end_quantity")
    private BigDecimal end_quantity;

    @ApiModelProperty(value = "数量借方")
    @TableField("quantity_debit")
    private BigDecimal quantityDebit;

    @ApiModelProperty(value = "数量贷方")
    @TableField("quantity_credit")
    private BigDecimal quantityCredit;

    @ApiModelProperty(value = "金额期初")
    @TableField("begin_amount")
    private BigDecimal beginAmount;

    @ApiModelProperty(value = "金额期末")
    @TableField("end_amount")
    private BigDecimal endAmount;

    @ApiModelProperty(value = "借方金额")
    @TableField("debit_amount")
    private BigDecimal debitAmount;

    @ApiModelProperty(value = "贷方金额")
    @TableField("credit_amount")
    private BigDecimal creditAmount;

    @TableField(exist = false)
    private String periodDate;

    @TableField(exist = false)
    private BigDecimal noCreditAmount;

    @TableField(exist = false)
    private BigDecimal noDebitAmount;

    @TableField(exist = false)
    private Long businessId;
}
